1. Field of the Invention
The invention generally relates to configurable multiply-accumulate/subtract circuits and more particularly to such circuits in a field programmable gate array (FPGA) and embedded FPGA (EFPGA).
2. Prior Art
In today's world the use of integrated circuits (ICs) is ubiquitous, and they can be found in practically every device, even in the regular household. A particular branch of ICs is that of field programmable gate arrays (FPGAs) which are designed to be configured in the field, using some kind of a hardware description language (HDL). The language describes the specific configuration of components of the FPGA so that it is operated as desired by a user making use of the IC. One of the main advantages of FPGAs is the ability to perform partial or full reconfiguration of the device even when it is already connected as part of a system, if such capabilities are kept enabled for the device. In certain cases, reconfiguration takes place as part of the normal operation of the device as it may be necessary to perform different functions at different times.
In some cases FPGAs have therein embedded components such as microprocessors, and other peripheral devices to provide enhanced functionality. This integration leads lower costs and reduced failures of the system. In other cases, certain ICs integrate therein features of FPGAs, creating embedded FPGAs (EFPGAs) to allow a certain degree of flexibility to a user to customize a component in a way that fits specific user design needs. A particularly important circuit used in certain application is known as a multiply-accumulate (MAC) where the circuit is defined to perform a summation of the result of a multiplication repeatedly. Such circuits have been commonly added into modern FPGA and EFPGA. In some cases there is a need to deviate from the standard MAC operation to perform the likes of multiply-subtract or even include a shift function. Such capabilities not being available today in a configurable manner yield such circuits deficient with respect to the growing demand for such functionality and the performance advantages they provide.
Therefore, in view of the deficiencies of the prior art it would be advantageous to provide a solution for a configurable multiply-accumulate circuitry that will be capable of addressing the deficiencies of the prior art.